<?php
/**
 * 格式化一篇论文的信息。
 *
 * @param data 论文信息，和数据库里一行格式一样。
 * @param edit bool, 是否显示编辑按钮，=true显示，=false不显示。
 *
 * @return string, 格式化以后可以输出的信息。
 */
function paper_format($data, $edit=false)
{
	if (!is_array($data)) return '';

	$s='';
	$pid=$data['PId'];
	$d=paper::pretreat($data);
	$s.="<p><a href='javascript:show_paper($pid);'>
				《{$d['Title']}》</a></p>
		<p>{$d['Journal']}／{$d['Date']}";
	$s.=empty($d['Search'])?'':"／检索：{$d['Search']}";
	$s.="／{$d['Author']}";
	if ($edit)
		$s.="&nbsp; [<a href='javascript:edit_paper($pid);'>
			edit</a> | <a href='javascript:del_paper($pid);'>
			del</a> ]</p></li>\n";
	else
		$s.="</p>";
	return $s;
}

/**
 * 输出论文列表。
 *
 * @param paper array, 论文数组，格式和数据库里一样。
 * @param edit  bool, 是否显示编辑按钮，=true显示，=false不显示。
 * @param limit int, 超出limit时暂时隐藏，需点“显示全部”以后才显示。
 * @param more  bool, 是否显示更多按钮。
 */
function paper_list($paper, $edit=false, $limit=20, $more=true)
{
	if (!is_array($paper)) return;

	$n=0;
	echo '<ol id="paper_list">';
	foreach ($paper as $d) {
		echo "<li id='paper_{$d['PId']}' ".
			($n<$limit?'>':' style="display:none;">');
		echo paper_format($d, $edit);
		echo "</li>";
		$n++;
	}
	if ($n>=$limit && $more) {
		echo '<li id="paper_all_link" style="text-align:right">
				<a href="javascript:show_all_paper();">&raquo;
					显示全部论文</a></li>';
	}
	echo "</ol>\n";
}
?>
